#include <iostream>
#include <string>
#include <ctime>
using namespace std;
/**
 *  1.结构体案例1
 * 要求:
 * 学校正在做毕设项目，每名老师带领5个学生，总共有3名老师，需求如下
设计学生和老师的结构体，其中在老师的结构体中，有老师姓名和一个存放5名学生的数组作为成员
学生的成员有姓名、考试分数，创建数组存放3名老师，通过函数给每个老师及所带的学生赋值
最终打印出老师数据以及老师所带的学生数据。
 */
struct Student
{
	string name;
	int age;
	int score;
};
struct Teacher
{
	int id;
	string name;
	int age;
	struct Student sArr[5];
};
void catePace(struct Teacher tArr[], int len)
{
	string endfix = "ABCDE";
	for (int i = 0; i < len; i++)
	{
		// 添加教师
		tArr[i].name = "Teacher_";
		tArr[i].name += endfix[i];
		for (int j = 0; j < 5; j++)
		{
			tArr[i].sArr[j].name = "Student_";
			tArr[i].sArr[j].name += endfix[j];

			int random = rand() % 61 + 40;
			tArr[i].sArr[j].score = random;
		}
	}
}
void printInfo(struct Teacher tArr[], int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << "老师的姓名: " << tArr[i].name << endl;
		for (int j = 0; j < 5; j++)
		{
			cout << "\t学生的姓名: " << tArr[i].sArr[j].name << " 学生的分数: " << tArr[i].sArr[j].score << endl;
		}
	}
}
int main()
{

	// 随机数种子
	srand((unsigned int)time(NULL));

	struct Teacher tArr[3];
	int len = sizeof(tArr) / sizeof(tArr[0]);
	catePace(tArr, len);
	printInfo(tArr, len);

// 	老师的姓名: Teacher_A
//         学生的姓名: Student_A 学生的分数: 83 
//         学生的姓名: Student_B 学生的分数: 100
//         学生的姓名: Student_C 学生的分数: 70 
//         学生的姓名: Student_D 学生的分数: 85 
//         学生的姓名: Student_E 学生的分数: 42 
// 老师的姓名: Teacher_B
//         学生的姓名: Student_A 学生的分数: 40 
//         学生的姓名: Student_B 学生的分数: 94 
//         学生的姓名: Student_C 学生的分数: 40 
//         学生的姓名: Student_D 学生的分数: 48 
//         学生的姓名: Student_E 学生的分数: 79 
// 老师的姓名: Teacher_C
//         学生的姓名: Student_A 学生的分数: 46 
//         学生的姓名: Student_B 学生的分数: 40 
//         学生的姓名: Student_C 学生的分数: 81 
//         学生的姓名: Student_D 学生的分数: 74 
//         学生的姓名: Student_E 学生的分数: 78 

	return 0;
}
